#pragma once
//common types

typedef  signed char     sbyte;
typedef  unsigned char   ubyte;
typedef  unsigned short  ushort;
typedef  unsigned int    uint;

template<class T> struct Point2D { T x,y; };
typedef  Point2D<short>   Point2s;
typedef  Point2D<int>     Point2i;
typedef  Point2D<float>   Point2f;
typedef  Point2D<double>  Point2d;
